package mymac.com.notification;

import android.app.Activity;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

/**
 * The entry point to the BasicNotification sample.
 */
public class MainActivity extends AppCompatActivity {
    /**
     * 一个数值,表明我们将发送的通知。
     * 这个值必须是唯一的在这个应用程序中,
     * 但它不需要独特的系统。
     */
    public static final int NOTIFICATION_ID = 1;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /**
     * 发送一个示例通知
     */
    public void sendNotification(View view) {

        /**创建一个意图,当用户单击通知将被解雇。
         * 目的需要打包成一个{ @link android.app。PendingIntent }
         * 这样通知服务可以代表我们。
         */
        //跳转到网页
        //Intent intent = new Intent(Intent.ACTION_VIEW,
        //        Uri.parse("http://www.baidu.com"));
        Intent intent = new Intent(MainActivity.this,TestActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);

        /**
         * 使用NotificationCompat。建立我们的通知
         */
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);

        /** 设置图标将出现在通知栏。(小图标)
         * Android设计指南图标应该是简单和单色。
         */
        builder.setSmallIcon(R.drawable.ic_stat_notification);

        // 设置某项工作的意图通知。
        builder.setContentIntent(pendingIntent);

        // 设置通知auto-cancel。这意味着通知将会消失
        // 后用户利用它,而不是保持直到显式地驳回。
        builder.setAutoCancel(true);

        /**
         * 设置大图标
         */
        builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));

        /**
         * 设置文本的通知。这个示例使用的三种最commononly集
         * text areas:
         * 1. 内容标题,它出现在大类型顶部的通知
         * 2. 文本的内容,出现在小标题下面的文本
         * 3.
         */
        builder.setContentTitle("模拟音乐下载");
        builder.setContentText("进入下一个页面");
        builder.setSubText("来自唐志杰的通知");


        /**
         * 发送通知。这将立即通知图标显示
         * notification bar.
         */
        NotificationManager notificationManager = (NotificationManager) getSystemService(
                NOTIFICATION_SERVICE);
        notificationManager.notify(NOTIFICATION_ID, builder.build());
    }
}